define(['jquery', 'cookie'], () => {

  class Header {
    constructor() {

      this.load().then(() => {
        this.showCartTotalNum();
        this.search()
        this.getcookie()
        this.goout()
       
      })
    }
    // 加载header.html文件
    load() {
      return new Promise(resolve => {
        // 加载header结束之后执行后续代码，因为load是个异步，所以写在promise里
        $('.header').load('/html/modules/header.html', resolve)
      })
    }
    // 完成百度搜索效果
    search() {
      $('#searchInput1').on('keyup', function () {
        $('#infoUL5').html('');
        var keyword = $(this).val();
        $.getJSON(`https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=${keyword}&cb=?`, resp => {
          resp.s.forEach(item => {
            $(`<li style="cursor:pointer;">${item}</li>`).appendTo($('#infoUL5'))
          });
          $('#infoUL5').on('mousedown', 'li', function () {
            $('#searchInput1').val($(this).html())
            $('#infoUL5').html('')
          })
          $('#searchInput1').on('blur', function () {
            $('#infoUL5').html('')

          });
        })
      })
    }

    getcookie() {
      var user = $.cookie('username')
      if (user) {
        $('.login').css('display', 'none')
        $('.register').css('display', 'none')
        $('.logined').css('display', 'block')
        $('.goout').css('display', 'block')
        $('.spanName').html(user)
      } else {
        $('.login').css('display', 'block')
        $('.register').css('display', 'block')
        $('.logined').css('display', 'none')
        $('.goout').css('display', 'none')
      }
    }
    goout() {
      $('.goout').on('click', () => {
        if (confirm('确定退出？')) {
          $.removeCookie('username', { path: '/' })
          $('.login').css('display', 'block')
          $('.register').css('display', 'block')
          $('.logined').css('display', 'none')
          $('.goout').css('display', 'none')
          $('.spanName').html('')
        }
      })
    }




    // -----------------------------------------------

    showCartTotalNum() {
  
      let num = 0;
      var cart = localStorage.getItem('cart');
     
      if(cart){
        cart = JSON.parse(cart);
        cart.reduce((res, goods) => {
          num += goods.num;
          return res
        }, 0)
        // console.log('num===',cart,num,$('#shopNum'))
        $('#cartShopNum5').html(num)
        
      }else{
       
      }
    }
    
  }
  return new Header();

});

    